package com.un.ebs.workOrder.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.*;
import com.un.ebs.order.enums.DeliverTypeEnum;
import com.un.ebs.product.enums.ProductChargeTypeEnum;
import com.un.ebs.product.enums.ProductSaleTypeEnum;
import com.un.ebs.product.enums.ProductUnitTypeEnum;
import com.un.ebs.workOrder.enums.WorkOrderStatusEnum;
import org.springframework.stereotype.Component;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 2
 * </p>
 *
 * @author liubo
 * @since 2020-03-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Component
@TableName("v_work_order_ext")
public class WorkOrderExt extends Model<WorkOrderExt> {

    private static final long serialVersionUID = 1L;

    private String id;

    private Integer createRoleType;

    private String createRoleId;

    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    private String createRemark;

    private Boolean createStatus;

    private String createOrderItemId;

    private String createAttach;

    @TableField(fill = FieldFill.INSERT)
    private String createAtName;

    private String acceptUserId;

    private String acceptUserName;

    private Date acceptTime;

    private Boolean acceptStatus;

    private String acceptRemark;

    private String acceptAttach;

    private String completeUserId;

    private String completeUserName;

    private Date completeTime;

    private Boolean completeStatus;

    private String completeRemark;

    private String completeAttach;

    private Integer evaluateScore;

    private String evaluateRemark;

    private Date evaluateTime;

    private Boolean evaluateStatus;

    @TableField(fill = FieldFill.INSERT)
    private String createAt;

    @TableLogic
    private Boolean isDelete;

    private String tenantId;

    @TableField(fill = FieldFill.UPDATE)
    private Date lastModifiedTime;

    @TableField(fill = FieldFill.UPDATE)
    private String lastModifiedAt;

    private String orderId;

    private String skuId;

    private Double itemQty;

    private Date startTime;

    private Date endTime;

    private Boolean itemDeliverStatus;

    private Date itemDeliverTime;

    private String itemDeliverUserId;

    private String itemDeliverUserName;

    private String orderCode;

    private String custId;

    private String custName;

    private String linkman;

    private String linkmanPhone;

    private String linkmanAdd;

    private String defunctName;

    private String defunctIdNumber;

    private String tagId;

    private String saleAttrDesc;

    private String name;

    private String skuCode;

    private String spuId;

    private String spuCode;

    private String orderItemRemark;

    private DeliverTypeEnum deliverType;

    private String classRootName;

    private Integer code;

    private String completeAuditDesc;

    private Date completeAuditTime;

    private String completeAuditUserId;

    private String completeAuditUserName;

    private Boolean isDeliverAuditStatus;

    private ProductUnitTypeEnum unitType;

    private ProductChargeTypeEnum chargeType;

    private ProductSaleTypeEnum saleType;

    private String deliverReadyTime;

    private Date deliverStart;

    private Date deliverEnd;

    private Date saleStart;

    private Date saleEnd;

    private Date sortTime;

    private WorkOrderStatusEnum status;

    private String tombSkuId;

    private String tombSkuName;

    private String tombSkuCode;

    private Date planCompleteTime;

    private Boolean isVirtual;

    @Override
    protected Serializable pkVal() {
        return null;
    }

}